/**
 * @addtogroup ofc_crc8
 * ofc_crc8
 * @{
 */
/**
 * @file         ofc_crc8.h
 * @brief        Crc8相关函数
 * @note    
 * @author       Akee(shengkun.you@hopechart.com,尤胜坤)
 *
 * @par          修改日志
 * <table>
 * <tr><th>Date        <th>Version               <th>Author                                    <th>Description
 * <tr><td>2023-01-29  <td>1.0                   <td>Akee(shengkun.you@hopechart.com,尤胜坤)   <td>创建初始版本
 * @copyright    杭州鸿泉物联网技术股份有限公司
 */
#ifndef _OFC_CRC8_H_
#define _OFC_CRC8_H_

#include "ofc_types.h"

#ifdef __cplusplus
extern "C" {
#endif


/**
 * 计算CRC8值(多项式: 0x07, 加密值: 0x00, Bit反转: MSB First)
 * @param data: 需要计算CRC的数据;参数不允许为空
 * @param size: 数据大小; 参数不允许为负数
 * @param seed: 种子,即计算的起始值
 * @return 计算出来的crc值
 */
UInt8 OfCalcCrc8s(UInt8 *data, Int32 size, UInt8 seed);

/**
 * 计算CRC8值(多项式: 0x07, 加密值: 0x00, Bit反转: MSB First, 初始值: 0xFF)
 * @param data: 需要计算CRC的数据;参数不允许为空
 * @param size: 数据大小; 参数不允许为负数
 * @return 计算出来的crc值
 */
UInt8 OfCalcCrc8(UInt8 *data, Int32 size);


#ifdef __cplusplus
} // extern "C" {
#endif

#endif

/**
 * @} 
 */


